﻿//#define _CRT_SECURE_NO_WARNINGS
//#include <stdio.h>
//#include <stdlib.h>
//// 1. 正常的命名空间定义 
//// bit是命名空间的名字，⼀般开发中是⽤项⽬名字做命名空间名。 
//// 我们上课⽤的是bit，⼤家下去以后⾃⼰练习可以考虑⽤⾃⼰名字缩写，如张三：zs 
//namespace bit
//{
//	// 命名空间中可以定义变量/函数/类型 
//	int rand = 10;
//	int Add(int left, int right)
//	{
//		return left + right;
//	}
//	struct Node
//	{
//		struct Node* next;
//		int val;
//	};
//}
//int main()
//{
//	// 这⾥默认是访问的是全局的rand函数指针 
//	printf("%p\n", rand);
//	// 这⾥指定bit命名空间中的rand 
//	printf("%d\n", bit::rand);
//	return 0;
//}
//#include <stdio.h>

////命名空间
//namespace bit//相当于与其他域做了隔离
//{
//	int rand = 100;
//}
//int x = 10;
////没有指定域，先局部找再全局找
////指定域,直接去这个域找
//
//int main()
//{
//	int x = 10;
//	printf("%d\n", x);
//	printf("%d\n", ::x);
//	printf("%d\n", bit::rand);
//	return 0;
//}




//#include <stdio.h>
////展开命名空间
//namespace bit
//{
//	int x = 10;
//}
//
////全部展开
//using namespace bit;//不推荐在工作项目中使用，会与其他的命名空间相冲突
//
//
////部分展开
////
//
//int main()
//{
//	printf("%d\n", x);
//	return 0;
//}




//#include<iostream>
////using namespace std;
//using std::cout;
//
//int main()
//{
//	//std::cout << "hello world";
//	cout << "hello world";
//	//cout << "hello world" << endl;
//	return 0;
//}






#include <iostream>
using namespace std;

//全缺省
void Func(int a = 0)
{
	cout << a << endl;
}
int main()
//不传参数则调用缺省值
//不支持中间缺少参数传值Func(1, ,3)err
{
	Func();
	Func(1);
	Func(2);
	return 0;
}





